IF lace IN viewPort.modes THEN mym := newmym ELSE mym := 2*newmym END;
IF hires IN viewPort.modes THEN mxm := newmxm ELSE mxm := 2*newmxm END;
ELSIF (class=rawmouse) AND (code=lButton) OR (class=rawkey) AND (code<128) AND (lAlt IN qualifier) AND ((lCommand IN qualifier) OR (rCommand IN qualifier)) THEN (* LMB pressed *)
clickX := mouseX; clickY := mouseY;
IF lace IN viewPort.modes THEN INC(clickY,cy) ELSE INC(clickY,cy DIV 2) END;
IF hires IN viewPort.modes THEN INC(clickX,cx) ELSE INC(clickX,cx DIV 2) END;
IF clickY<0 THEN clickY := 0 END;
IF clickX<0 THEN clickX := 0 END;
IF clickY>=height THEN clickY := height-1 END;
IF clickX>=width THEN clickX := width -1 END;
IF lace IN viewPort.modes THEN mym := clickY+topEdge ELSE mym := 2*(clickY+topEdge) END;
IF hires IN viewPort.modes THEN mxm := clickX ELSE mxm := 2*clickX END;
Signal(Me,LONGSET{LMBSig});
END;
ev := nextEvent;
END;
END;
END;
WITH iB^ DO maxXMouse := mxm; maxYMouse := mym END;
END;
RETURN Ev;
END MyHandler; (* $S+ *)
(*------ VertB-Interrupt: ------*)
PROCEDURE MyIntProc(); (* $S- *)
BEGIN
INLINE(MOVEMS,3F3EH); (* this is MOVEM d2-d7/a2-a6,-(sp) *)
IF (iB^.activeScreen = WBS) AND (WBS^.mouseY>=0) THEN